home *** CD-ROM | disk | FTP | other *** search
/ Aminet 30 / Aminet 30 (1999)(Schatztruhe)[!][Apr 1999].iso / Aminet / dev / lang / SmallEiffel.lha / SmallEiffel / bin_c / compile_to_c23.c < prev    next >
C/C++ Source or Header  |  1998-12-22  |  33KB  |  1,335 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.79)      --
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                 http://www.loria.fr/SmallEiffel              --
  7. */
  8. #include "compile_to_c.h"
  9.  
  10.  
  11. void r148mapping_c_target(T148* C,T0* a1){
  12. T6 _flag=0;
  13. _flag=r25call_invariant_start(a1);
  14. r148compile_to_c(C);
  15. /*[IF*/
  16. if(_flag){
  17. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T45* C1=(T45*)(oBC25out_c);
  18. T3 b1='\51';
  19. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  20. }/*]*/
  21. /*]*/
  22. }
  23. /*FI]*/
  24. }
  25.  
  26.  
  27. void r148undefine_in(T148* C,T0* a1){
  28. /*[IF*/
  29. /*AF*//*AE*/
  30. /*FI]*/
  31. }
  32.  
  33.  
  34. T6 r148can_be_dropped(T148* C){
  35. T6 R=0;
  36. r21add_position((C)->_start_position/*8*/);
  37. /*[IRF3.6fatal_error*/{T0* b1=((T0*)ms148_73584);
  38. r21fatal_error((T21*)(oBC12eh),b1);
  39. }/*]*/
  40. return R;
  41. }
  42. /*No:SIMPLE_FEATURE_NAME.c_declare_for_old*/
  43. /*No:SIMPLE_FEATURE_NAME.put_cpp_tag*/
  44. /*No:SIMPLE_FEATURE_NAME.dca_inline_argument*/
  45.  
  46.  
  47. void r148compile_to_c(T148* C){
  48. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms148_1116));
  49. /*]*/
  50. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),X83to_string(((T356*)((C)->_run_feature_2/*12*/))->_name/*16*/));
  51. /*]*/
  52. }
  53. /*No:SIMPLE_FEATURE_NAME.to_key*/
  54. /*No:SIMPLE_FEATURE_NAME.isa_dca_inline_argument*/
  55.  
  56.  
  57. void r148error(T0* a1,T0* a2){
  58. r21add_position(a1);
  59. r21error((T21*)(oBC12eh),a2);
  60. }
  61.  
  62.  
  63. void r148make(T148* C,T0* a1,T0* a2){
  64. C->_to_string=r84item(a1);
  65. C->_start_position=a2;
  66. }
  67. /*No:SIMPLE_FEATURE_NAME.is_current*/
  68. /*No:SIMPLE_FEATURE_NAME.mapping_c_in*/
  69. /*No:SIMPLE_FEATURE_NAME.mapping_c_arg*/
  70. /*No:SIMPLE_FEATURE_NAME.is_void*/
  71. /*No:SIMPLE_FEATURE_NAME.afd_check*/
  72. /*No:TYPE_CLASS.fz_null*/
  73. /*No:TYPE_CLASS.fz_void*/
  74. /*No:TYPE_CLASS.start_position*/
  75.  
  76.  
  77. void r273standard_c_print_function(T273* C){
  78. /*[IF*/
  79. if(r43no_check((T43*)(oBC12run_control))){
  80. r24c_print_function((T24*)(r273run_class(C)));
  81. }
  82. /*FI]*/
  83. }
  84.  
  85.  
  86. void r273used_as_reference(T273* C){
  87. /*[IF*/
  88. if(r273is_expanded(C)){
  89. r24used_as_reference((T24*)(r273run_class(C)));
  90. }
  91. /*FI]*/
  92. }
  93.  
  94.  
  95. T2 r273id(T273* C){
  96. T2 R=0;
  97. R=((T63*)(r273base_class(C)))->_id/*0*/;
  98. return R;
  99. }
  100. /*No:TYPE_CLASS.is_user_expanded*/
  101. /*No:TYPE_CLASS.is_pointer*/
  102.  
  103.  
  104. T0* r273to_runnable(T273* C,T0* a1){
  105. T0* R=NULL;
  106. T0* _bc=NULL;
  107. _bc=r64base_class((T64*)((C)->_base_class_name/*4*/));
  108. /*[IF*/
  109. if(((((T63*)_bc))->_is_expanded/*20*/)&&(!(r67fast_has((T67*)(oBC273check_memory),_bc)))){
  110. r67add_last((T67*)(oBC273check_memory),_bc);
  111. r24set_at_run_time((T24*)(r273run_class(C)));
  112. }
  113. /*FI]*/
  114. /*[IF*/
  115. if(((((T63*)_bc))->_formal_generic_list/*28*/)!=((void*)(NULL))){
  116. r21add_position(((T94*)((((T63*)_bc))->_formal_generic_list/*28*/))->_start_position/*0*/);
  117. r21add_type((T0*)C,((T0*)ms273_50344));
  118. r21print_as_fatal_error((T21*)(oBC12eh));
  119. }
  120. /*FI]*/
  121. R=(T0*)C;
  122. return R;
  123. }
  124.  
  125.  
  126. void r273c_initialize_in(T273* C,T0* a1){
  127. /*[IF*/
  128. if(r273is_expanded(C)){
  129. /*[IF*/
  130. if(r273need_c_struct(C)){
  131. r24c_object_model_in((T24*)(r273run_class(C)),a1);
  132. }
  133. else{
  134. r7extend(((T7*)a1),'0');
  135. }
  136. /*FI]*/
  137. }
  138. else{
  139. r7append(((T7*)a1),((T0*)ms13_1300));
  140. }
  141. /*FI]*/
  142. }
  143.  
  144.  
  145. void r273gc_define1(T273* C){
  146. /*[IF*/
  147. if(r273is_reference(C)){
  148. r273standard_gc_define1(C);
  149. }
  150. /*FI]*/
  151. }
  152.  
  153.  
  154. void r273to_reference(T273* C){
  155. /*[IF*/
  156. if(r273is_expanded(C)){
  157. r25to_reference((T25*)(oBC12cpp),(T0*)C,r24to_reference((T24*)(r273run_class(C))));
  158. }
  159. /*FI]*/
  160. }
  161.  
  162.  
  163. void r273gc_mark_in(T273* C,T0* a1){
  164. r7append(((T7*)a1),((T0*)ms13_8869));
  165. r2append_in(r273id(C),a1);
  166. }
  167.  
  168.  
  169. T0* r273run_class(T273* C){
  170. T0* R=NULL;
  171. R=r22run_class((T0*)C);
  172. return R;
  173. }
  174. /*No:TYPE_CLASS.c_header_pass2*/
  175.  
  176.  
  177. void r273c_header_pass4(T273* C){
  178. /*[IF*/
  179. if(r273is_reference(C)){
  180. /*[IF*/
  181. if(r273need_c_struct(C)){
  182. r273standard_c_struct(C);
  183. }
  184. /*FI]*/
  185. }
  186. /*FI]*/
  187. r273standard_c_object_model(C);
  188. r273standard_c_print_function(C);
  189. }
  190. /*No:TYPE_CLASS.is_like_current*/
  191. /*No:TYPE_CLASS.is_bit*/
  192.  
  193.  
  194. void r273gc_store_in(T273* C,T0* a1){
  195. r7append(((T7*)a1),((T0*)ms54_2860));
  196. r2append_in(r273id(C),a1);
  197. }
  198.  
  199.  
  200. T0* r273smallest_ancestor(T273* C,T0* a1){
  201. T0* R=NULL;
  202. T0* _bc=NULL;
  203. T0* _rto_bc=NULL;
  204. T0* _pl2=NULL;
  205. T0* _pl1=NULL;
  206. T0* _rto=NULL;
  207. _rto=X54run_type(a1);
  208. /*[IF*/
  209. if(X54is_none(a1)){
  210. R=(T0*)C;
  211. }
  212.  else if(X54is_any(_rto)){
  213. R=_rto;
  214. }
  215. else{
  216. _rto_bc=X54base_class(_rto);
  217. _bc=r273base_class(C);
  218. /*[IF*/
  219. if((_rto_bc)==((void*)(_bc))){
  220. R=(T0*)C;
  221. }
  222.  else if(r63is_subclass_of(((T63*)_rto_bc),_bc)){
  223. R=(T0*)C;
  224. }
  225.  else if(r63is_subclass_of(((T63*)_bc),_rto_bc)){
  226. R=_rto;
  227. }
  228.  else if((X54is_expanded(_rto))&&(!(r273is_expanded(C)))){
  229. R=X54smallest_ancestor(_rto,(T0*)C);
  230. }
  231. else{
  232. _pl1=(((T63*)_bc))->_parent_list/*40*/;
  233. _pl2=(((T63*)_rto_bc))->_parent_list/*40*/;
  234. /*[IF*/
  235. if(((_pl1)==((void*)(NULL)))||((_pl2)==((void*)(NULL)))){
  236. R=r273type_any();
  237. }
  238.  else if((/*(IRF4.6count*/(((T80*)((((T78*)_pl2))->_list/*12*/)))->_upper/*8*//*)*/)==(1)){
  239. R=X54smallest_ancestor(((T79*)(/*(IRF4.6super*/r80first(((T80*)((((T78*)_pl2))->_list/*12*/)))/*)*/))->_type/*4*/,(T0*)C);
  240. }
  241.  else if((/*(IRF4.6count*/(((T80*)((((T78*)_pl1))->_list/*12*/)))->_upper/*8*//*)*/)==(1)){
  242. R=X54smallest_ancestor(((T79*)(/*(IRF4.6super*/r80first(((T80*)((((T78*)_pl1))->_list/*12*/)))/*)*/))->_type/*4*/,a1);
  243. }
  244. else{
  245. R=r78smallest_ancestor(((T78*)_pl1),(T0*)C);
  246. R=X54smallest_ancestor(R,a1);
  247. }
  248. /*FI]*/
  249. }
  250. /*FI]*/
  251. }
  252. /*FI]*/
  253. return R;
  254. }
  255.  
  256.  
  257. void r273gc_info_nb_in(T273* C,T0* a1){
  258. r7append(((T7*)a1),((T0*)ms54_15070));
  259. r2append_in(r273id(C),a1);
  260. }
  261. /*No:TYPE_CLASS.fz_eq_h*/
  262. /*No:TYPE_CLASS.run_time_mark*/
  263.  
  264.  
  265. T6 r273is_expanded(T273* C){
  266. T6 R=0;
  267. R=((T63*)(r273base_class(C)))->_is_expanded/*20*/;
  268. return R;
  269. }
  270.  
  271.  
  272. void r273standard_gc_define2(T273* C){
  273. T6 _gc_check_id=0;
  274. T2 _rcid=0;
  275. T0* _rc=NULL;
  276. _rc=r273run_class(C);
  277. _rcid=(((T24*)_rc))->_id/*4*/;
  278. r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms13_1776a));
  279. r7extend((T7*)(((T0*)ms54_785024a)),'\40');
  280. r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms13_11536));
  281. r2append_in(_rcid,((T0*)ms54_785024a));
  282. r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms54_6480));
  283. r7copy((T7*)(((T0*)ms54_3077376)),((T0*)ms54_410));
  284. r2append_in(_rcid,((T0*)ms54_3077376));
  285. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_667749));
  286. r273gc_store_in(C,((T0*)ms54_3077376));
  287. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_629541));
  288. r273gc_free_in(C,((T0*)ms54_3077376));
  289. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_144));
  290. r273gc_free_in(C,((T0*)ms54_3077376));
  291. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_7450784));
  292. r273gc_free_in(C,((T0*)ms54_3077376));
  293. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_144));
  294. r273gc_free_in(C,((T0*)ms54_3077376));
  295. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_14432));
  296. r25put_c_function((T25*)(oBC12cpp),((T0*)ms54_785024a),((T0*)ms54_3077376));
  297. r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms13_1776a));
  298. r7extend((T7*)(((T0*)ms54_785024a)),'\40');
  299. r273gc_mark_in(C,((T0*)ms54_785024a));
  300. r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms54_254a));
  301. r2append_in(_rcid,((T0*)ms54_785024a));
  302. r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms54_600));
  303. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_3077376)))))->_count)=(0);
  304. /*]*/
  305. _gc_check_id=(r24is_tagged(((T24*)_rc)))&&(r43no_check((T43*)(oBC12run_control)));
  306. /*[IF*/
  307. if(_gc_check_id){
  308. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_21692));
  309. r2append_in(_rcid,((T0*)ms54_3077376));
  310. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_972));
  311. }
  312. /*FI]*/
  313. r24gc_mark_fixed_size(((T24*)_rc),0,((T0*)ms54_3077376));
  314. /*[IF*/
  315. if(_gc_check_id){
  316. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_276));
  317. }
  318. /*FI]*/
  319. r25put_c_function((T25*)(oBC12cpp),((T0*)ms54_785024a),((T0*)ms54_3077376));
  320. r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms13_1776a));
  321. r7extend((T7*)(((T0*)ms54_785024a)),'\40');
  322. r273gc_align_mark_in(C,((T0*)ms54_785024a));
  323. r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms54_14720));
  324. r2append_in(_rcid,((T0*)ms54_785024a));
  325. r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms54_603));
  326. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_3077376)))))->_count)=(0);
  327. /*]*/
  328. r24gc_align_mark_fixed_size(((T24*)_rc),((T0*)ms54_3077376));
  329. r25put_c_function((T25*)(oBC12cpp),((T0*)ms54_785024a),((T0*)ms54_3077376));
  330. r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms54_5436));
  331. r2append_in(_rcid,((T0*)ms54_785024a));
  332. r7copy((T7*)(((T0*)ms54_3077376)),((T0*)ms54_455742));
  333. r2append_in(_rcid,((T0*)ms54_3077376));
  334. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_78450));
  335. r2append_in(_rcid,((T0*)ms54_3077376));
  336. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_345762));
  337. r2append_in(_rcid,((T0*)ms54_3077376));
  338. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_1580));
  339. r25put_extern5((T25*)(oBC12cpp),((T0*)ms54_785024a),((T0*)ms54_3077376));
  340. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_785024a)))))->_count)=(0);
  341. /*]*/
  342. r7extend((T7*)(((T0*)ms54_785024a)),'T');
  343. r2append_in(_rcid,((T0*)ms54_785024a));
  344. r7extend((T7*)(((T0*)ms54_785024a)),'\52');
  345. r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms13_1008));
  346. r2append_in(_rcid,((T0*)ms54_785024a));
  347. r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms13_4410));
  348. r7copy((T7*)(((T0*)ms54_3077376)),((T0*)ms13_410));
  349. r2append_in(_rcid,((T0*)ms54_3077376));
  350. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_924));
  351. /*[IF*/
  352. if(((T330*)(oBC12gc_handler))->_info_flag/*4*/){
  353. r273gc_info_nb_in(C,((T0*)ms54_3077376));
  354. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_660));
  355. }
  356. /*FI]*/
  357. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_759));
  358. r273gc_store_left_in(C,((T0*)ms54_3077376));
  359. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_1500));
  360. r273gc_store_left_in(C,((T0*)ms54_3077376));
  361. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_3900));
  362. r273gc_store_in(C,((T0*)ms54_3077376));
  363. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_13425));
  364. r273gc_free_in(C,((T0*)ms54_3077376));
  365. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_11209));
  366. r273gc_free_in(C,((T0*)ms54_3077376));
  367. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_144));
  368. r273gc_free_in(C,((T0*)ms54_3077376));
  369. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_39879));
  370. r273gc_store_left_in(C,((T0*)ms54_3077376));
  371. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_2460));
  372. r273gc_store_left_in(C,((T0*)ms54_3077376));
  373. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_752));
  374. r273gc_store_chunk_in(C,((T0*)ms54_3077376));
  375. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_104196));
  376. r273gc_store_in(C,((T0*)ms54_3077376));
  377. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_11970));
  378. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_11264));
  379. r273gc_store_chunk_in(C,((T0*)ms54_3077376));
  380. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_55955));
  381. r273gc_store_chunk_in(C,((T0*)ms54_3077376));
  382. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_272a));
  383. r2append_in(_rcid,((T0*)ms54_3077376));
  384. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_144));
  385. r273gc_store_in(C,((T0*)ms54_3077376));
  386. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_9790aa));
  387. r273gc_store_chunk_in(C,((T0*)ms54_3077376));
  388. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_11214aa));
  389. r273gc_store_left_in(C,((T0*)ms54_3077376));
  390. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_272a));
  391. r2append_in(_rcid,((T0*)ms54_3077376));
  392. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_34360aa));
  393. r273gc_store_in(C,((T0*)ms54_3077376));
  394. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_32340));
  395. r273gc_store_chunk_in(C,((T0*)ms54_3077376));
  396. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_1433339));
  397. r273gc_store_chunk_in(C,((T0*)ms54_3077376));
  398. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_52000));
  399. r273gc_store_chunk_in(C,((T0*)ms54_3077376));
  400. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_1305));
  401. r273gc_store_chunk_in(C,((T0*)ms54_3077376));
  402. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_272a));
  403. r2append_in(_rcid,((T0*)ms54_3077376));
  404. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_144));
  405. r273gc_store_in(C,((T0*)ms54_3077376));
  406. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_9790a));
  407. r273gc_store_chunk_in(C,((T0*)ms54_3077376));
  408. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_11214a));
  409. r273gc_store_left_in(C,((T0*)ms54_3077376));
  410. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_272a));
  411. r2append_in(_rcid,((T0*)ms54_3077376));
  412. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_34360a));
  413. r273gc_store_in(C,((T0*)ms54_3077376));
  414. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_76164));
  415. r273gc_free_in(C,((T0*)ms54_3077376));
  416. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_1800));
  417. r273gc_free_in(C,((T0*)ms54_3077376));
  418. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_144));
  419. r273gc_free_in(C,((T0*)ms54_3077376));
  420. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_16175));
  421. r273gc_store_chunk_in(C,((T0*)ms54_3077376));
  422. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_15246));
  423. r273gc_store_chunk_in(C,((T0*)ms54_3077376));
  424. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_272a));
  425. r2append_in(_rcid,((T0*)ms54_3077376));
  426. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_144));
  427. r273gc_store_in(C,((T0*)ms54_3077376));
  428. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_9790));
  429. r273gc_store_chunk_in(C,((T0*)ms54_3077376));
  430. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_11214));
  431. r273gc_store_left_in(C,((T0*)ms54_3077376));
  432. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_272a));
  433. r2append_in(_rcid,((T0*)ms54_3077376));
  434. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_34360));
  435. r273gc_store_in(C,((T0*)ms54_3077376));
  436. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_25650));
  437. /*[IF*/
  438. if(r273need_c_struct(C)){
  439. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_14168));
  440. r2append_in(_rcid,((T0*)ms54_3077376));
  441. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms13_144));
  442. }
  443. /*FI]*/
  444. r7append((T7*)(((T0*)ms54_3077376)),((T0*)ms54_12699));
  445. r25put_c_function((T25*)(oBC12cpp),((T0*)ms54_785024a),((T0*)ms54_3077376));
  446. }
  447.  
  448.  
  449. void r273gc_info_in(T273* C,T0* a1){
  450. /*[IF*/
  451. if(r273is_reference(C)){
  452. r273standard_gc_info_in(C,a1);
  453. }
  454. /*FI]*/
  455. }
  456.  
  457.  
  458. void r273gc_define2(T273* C){
  459. /*[IF*/
  460. if(r273is_reference(C)){
  461. r273standard_gc_define2(C);
  462. }
  463. else{
  464. r273standard_gc_define2_for_expanded(C);
  465. }
  466. /*FI]*/
  467. }
  468. /*No:TYPE_CLASS.is_like_feature*/
  469. /*No:TYPE_CLASS.fz_dot*/
  470.  
  471.  
  472. T6 r273is_a(T273* C,T0* a1){
  473. T6 R=0;
  474. T0* _obcn=NULL;
  475. T0* _bcn=NULL;
  476. _bcn=(C)->_base_class_name/*4*/;
  477. _obcn=X54base_class_name(a1);
  478. /*[IF*/
  479. if(((((T64*)_bcn))->_to_string/*0*/)==((void*)((((T64*)_obcn))->_to_string/*0*/))){
  480. R=1;
  481. }
  482.  else if(r64is_subclass_of(((T64*)_bcn),_obcn)){
  483. /*[IF*/
  484. if(X54is_generic(a1)){
  485. R=r63is_a_vncg((T63*)(r64base_class(((T64*)_bcn))),(T0*)C,a1);
  486. }
  487. else{
  488. R=1;
  489. }
  490. /*FI]*/
  491. }
  492. /*FI]*/
  493. /*[IF*/
  494. if(!(R)){
  495. r21add_type((T0*)C,((T0*)ms13_17730));
  496. r21add_type(a1,((T0*)ms13_47));
  497. }
  498. /*FI]*/
  499. return R;
  500. }
  501.  
  502.  
  503. void r273gc_free_in(T273* C,T0* a1){
  504. r7append(((T7*)a1),((T0*)ms54_8645));
  505. r2append_in(r273id(C),a1);
  506. }
  507.  
  508.  
  509. void r273c_initialize(T273* C){
  510. /*[IF*/
  511. if(r273is_expanded(C)){
  512. r273c_initialize_expanded(C);
  513. }
  514. else{
  515. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms13_1300));
  516. /*]*/
  517. }
  518. /*FI]*/
  519. }
  520. /*No:TYPE_CLASS.is_character*/
  521. /*No:TYPE_CLASS.written_mark*/
  522. /*No:TYPE_CLASS.make*/
  523.  
  524.  
  525. void r273demangling_in(T273* C,T0* a1){
  526. /*[IF*/
  527. if(r273is_reference(C)){
  528. r7extend(((T7*)a1),'R');
  529. }
  530. else{
  531. r7extend(((T7*)a1),'E');
  532. }
  533. /*FI]*/
  534. r7extend(((T7*)a1),'\40');
  535. r7append(((T7*)a1),/*(IRF4.6run_time_mark*/(((T64*)((C)->_base_class_name/*4*/)))->_to_string/*0*//*)*/);
  536. }
  537.  
  538.  
  539. void r273standard_gc_define1(T273* C){
  540. T2 _rcid=0;
  541. T0* _rc=NULL;
  542. _rc=r273run_class(C);
  543. _rcid=(((T24*)_rc))->_id/*4*/;
  544. r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms13_6568));
  545. r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms13_5600));
  546. r7extend((T7*)(((T0*)ms54_785024a)),'B');
  547. r2append_in(_rcid,((T0*)ms54_785024a));
  548. r7extend((T7*)(((T0*)ms54_785024a)),'\40');
  549. r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms13_410));
  550. r2append_in(_rcid,((T0*)ms54_785024a));
  551. r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms13_144));
  552. r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms13_5600));
  553. r7extend((T7*)(((T0*)ms54_785024a)),'B');
  554. r2append_in(_rcid,((T0*)ms54_785024a));
  555. r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms54_420));
  556. r2append_in(_rcid,((T0*)ms54_785024a));
  557. r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms54_78962));
  558. r2append_in(_rcid,((T0*)ms54_785024a));
  559. r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms54_12312));
  560. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms54_785024a));
  561. /*]*/
  562. r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms13_410));
  563. r2append_in(_rcid,((T0*)ms54_785024a));
  564. r7extend((T7*)(((T0*)ms54_785024a)),'\52');
  565. r273gc_store_in(C,((T0*)ms54_785024a));
  566. r25put_extern5((T25*)(oBC12cpp),((T0*)ms54_785024a),((T0*)ms13_1300));
  567. r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms13_1011));
  568. r7extend((T7*)(((T0*)ms54_785024a)),'\40');
  569. r273gc_store_left_in(C,((T0*)ms54_785024a));
  570. r25put_extern2((T25*)(oBC12cpp),((T0*)ms54_785024a),'0');
  571. r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms54_2420));
  572. r273gc_store_chunk_in(C,((T0*)ms54_785024a));
  573. r25put_extern5((T25*)(oBC12cpp),((T0*)ms54_785024a),((T0*)ms13_1300));
  574. r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms13_410));
  575. r2append_in(_rcid,((T0*)ms54_785024a));
  576. r7extend((T7*)(((T0*)ms54_785024a)),'\52');
  577. r273gc_free_in(C,((T0*)ms54_785024a));
  578. r25put_extern5((T25*)(oBC12cpp),((T0*)ms54_785024a),((T0*)ms13_1300));
  579. /*[IF*/
  580. if(((T330*)(oBC12gc_handler))->_info_flag/*4*/){
  581. r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms13_1011));
  582. r7extend((T7*)(((T0*)ms54_785024a)),'\40');
  583. r273gc_info_nb_in(C,((T0*)ms54_785024a));
  584. r25put_extern2((T25*)(oBC12cpp),((T0*)ms54_785024a),'0');
  585. }
  586. /*FI]*/
  587. }
  588. /*No:TYPE_CLASS.fz_typedef*/
  589.  
  590.  
  591. void r273fatal_error_generic_list(T273* C){
  592. r21add_type((T0*)C,((T0*)ms54_29184));
  593. r21print_as_fatal_error((T21*)(oBC12eh));
  594. }
  595. /*No:TYPE_CLASS.is_array*/
  596. /*No:TYPE_CLASS.fz_int*/
  597. /*No:TYPE_CLASS.tmp_string*/
  598.  
  599.  
  600. T6 r273is_dummy_expanded(T273* C){
  601. T6 R=0;
  602. /*[IF*/
  603. if(r273is_expanded(C)){
  604. R=(r24writable_attributes((T24*)(r273run_class(C))))==((void*)(NULL));
  605. }
  606. /*FI]*/
  607. return R;
  608. }
  609.  
  610.  
  611. T2 r273space_for_variable(T273* C){
  612. T2 R=0;
  613. /*[IF*/
  614. if(r273is_reference(C)){
  615. R=r273space_for_pointer();
  616. }
  617. else{
  618. R=r273standard_space_for_object(C);
  619. }
  620. /*FI]*/
  621. return R;
  622. }
  623. /*No:TYPE_CLASS.to_expanded*/
  624.  
  625.  
  626. T0* r273generic_list(T273* C){
  627. T0* R=NULL;
  628. r273fatal_error_generic_list(C);
  629. return R;
  630. }
  631.  
  632.  
  633. T0* r273base_class(T273* C){
  634. T0* R=NULL;
  635. T0* _bcn=NULL;
  636. _bcn=(C)->_base_class_name/*4*/;
  637. /*[IF*/
  638. if((_bcn)!=((void*)(NULL))){
  639. R=r64base_class(((T64*)_bcn));
  640. }
  641. else{
  642. /*[IRF3.6append*/{T0* b1=((T0*)ms54_37098);
  643. r7append((T7*)(oBC21explanation),b1);
  644. }/*]*/
  645. r21add_type((T0*)C,((T0*)ms13_47));
  646. r21print_as_fatal_error((T21*)(oBC12eh));
  647. }
  648. /*FI]*/
  649. return R;
  650. }
  651.  
  652.  
  653. void r273cast_to_ref(T273* C){
  654. X54cast_to_ref(/*(IRF4.4run_type*/((T0*)(C))/*)*/);
  655. }
  656. /*No:TYPE_CLASS.base_class_name*/
  657. /*No:TYPE_CLASS.fz_se_cmpt*/
  658. /*No:TYPE_CLASS.is_formal_generic*/
  659.  
  660.  
  661. T6 r273is_a_in(T273* C,T0* a1,T0* a2){
  662. T6 R=0;
  663. T0* _ct=NULL;
  664. T0* _t2=NULL;
  665. T0* _t1=NULL;
  666. /*[IF*/
  667. if((/*(IRF4.6written_mark*/(((T64*)((C)->_base_class_name/*4*/)))->_to_string/*0*//*)*/)==((void*)(X54written_mark(a1)))){
  668. R=1;
  669. }
  670. else{
  671. _ct=(((T24*)a2))->_current_type/*0*/;
  672. _t1=r273to_runnable(C,_ct);
  673. _t2=X54to_runnable(a1,_ct);
  674. /*[IF*/
  675. if((X54run_time_mark(_t1))==((void*)(X54run_time_mark(_t2)))){
  676. R=1;
  677. }
  678. else{
  679. R=X54is_a(_t1,_t2);
  680. }
  681. /*FI]*/
  682. }
  683. /*FI]*/
  684. return R;
  685. }
  686. /*No:TYPE_CLASS.body*/
  687.  
  688.  
  689. T0* r273look_up_for(T273* C,T0* a1,T0* a2){
  690. T0* R=NULL;
  691. R=r63look_up_for((T63*)(r273base_class(C)),a1,a2);
  692. return R;
  693. }
  694. /*No:TYPE_CLASS.fz_00*/
  695. /*No:TYPE_CLASS.fz_10*/
  696.  
  697.  
  698. void r273c_type_for_external_in(T273* C,T0* a1){
  699. /*[IF*/
  700. if(r273is_reference(C)){
  701. r7append(((T7*)a1),((T0*)ms13_1776a));
  702. r7extend(((T7*)a1),'\52');
  703. }
  704. else{
  705. r273c_type_for_result_in(C,a1);
  706. }
  707. /*FI]*/
  708. }
  709.  
  710.  
  711. void r273c_type_for_argument_in(T273* C,T0* a1){
  712. /*[IF*/
  713. if(r273is_reference(C)){
  714. r7append(((T7*)a1),((T0*)ms13_540));
  715. }
  716.  else if(r273is_dummy_expanded(C)){
  717. r7append(((T7*)a1),((T0*)ms13_1011));
  718. }
  719. else{
  720. r7extend(((T7*)a1),'T');
  721. r2append_in(r273id(C),a1);
  722. r7extend(((T7*)a1),'\52');
  723. }
  724. /*FI]*/
  725. }
  726. /*No:TYPE_CLASS.c_header_pass1*/
  727. /*No:TYPE_CLASS.fz_printf*/
  728.  
  729.  
  730. void r273c_type_for_result_in(T273* C,T0* a1){
  731. /*[IF*/
  732. if(r273is_reference(C)){
  733. r7append(((T7*)a1),((T0*)ms13_540));
  734. }
  735.  else if(r273is_dummy_expanded(C)){
  736. r7append(((T7*)a1),((T0*)ms13_1011));
  737. }
  738. else{
  739. r7extend(((T7*)a1),'T');
  740. r2append_in(r273id(C),a1);
  741. }
  742. /*FI]*/
  743. }
  744. /*No:TYPE_CLASS.run_type*/
  745.  
  746.  
  747. void r273c_type_for_target_in(T273* C,T0* a1){
  748. /*[IF*/
  749. if(r273is_dummy_expanded(C)){
  750. r7append(((T7*)a1),((T0*)ms13_1011));
  751. }
  752. else{
  753. r7extend(((T7*)a1),'T');
  754. r2append_in(r273id(C),a1);
  755. r7extend(((T7*)a1),'\52');
  756. }
  757. /*FI]*/
  758. }
  759. /*No:TYPE_CLASS.fz_gc_sweep*/
  760.  
  761.  
  762. T0* r273expanded_initializer(T273* C){
  763. T0* R=NULL;
  764. /*[IF*/
  765. if(r273is_expanded(C)){
  766. R=r63expanded_initializer((T63*)(r273base_class(C)),(T0*)C);
  767. }
  768. /*FI]*/
  769. return R;
  770. }
  771.  
  772.  
  773. void r273c_frame_descriptor(T273* C){
  774. r7extend((T7*)(oBC12c_frame_descriptor_format),'\45');
  775. /*[IF*/
  776. if(r273is_reference(C)){
  777. r7extend((T7*)(oBC12c_frame_descriptor_format),'R');
  778. }
  779. else{
  780. r7extend((T7*)(oBC12c_frame_descriptor_format),'E');
  781. }
  782. /*FI]*/
  783. r2append_in(r273id(C),oBC12c_frame_descriptor_format);
  784. r7extend((T7*)(oBC12c_frame_descriptor_format),'\45');
  785. }
  786.  
  787.  
  788. T6 r273has_creation(T273* C,T0* a1){
  789. T6 R=0;
  790. R=r63has_creation((T63*)(r273base_class(C)),a1);
  791. return R;
  792. }
  793. /*No:TYPE_CLASS.fz_t0_star*/
  794.  
  795.  
  796. T2 r273space_for_integer(void){
  797. T2 R=0;
  798. R=sizeof(T2);
  799. return R;
  800. }
  801.  
  802.  
  803. T2 r273space_for_pointer(void){
  804. T2 R=0;
  805. T8 _p=0;
  806. R=sizeof(T8);
  807. return R;
  808. }
  809.  
  810.  
  811. void r273c_header_pass3(T273* C){
  812. /*[IF*/
  813. if(r273is_expanded(C)){
  814. /*[IF*/
  815. if(r273need_c_struct(C)){
  816. r273standard_c_struct(C);
  817. }
  818. /*FI]*/
  819. }
  820. /*FI]*/
  821. }
  822. /*No:TYPE_CLASS.fz_14*/
  823.  
  824.  
  825. void r273gc_call_new_in(T273* C,T0* a1){
  826. r7append(((T7*)a1),((T0*)ms13_1008));
  827. r2append_in(r273id(C),a1);
  828. r7extend(((T7*)a1),'\50');
  829. r7extend(((T7*)a1),'\51');
  830. }
  831. /*No:TYPE_CLASS.fz_new*/
  832. /*No:TYPE_CLASS.is_boolean*/
  833. /*No:TYPE_CLASS.is_generic*/
  834.  
  835.  
  836. void r273mapping_cast(T273* C){
  837. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_15696)))))->_count)=(0);
  838. /*]*/
  839. r7extend((T7*)(((T0*)ms54_15696)),'\50');
  840. r273c_type_for_target_in(C,((T0*)ms54_15696));
  841. r7extend((T7*)(((T0*)ms54_15696)),'\51');
  842. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms54_15696));
  843. /*]*/
  844. }
  845. /*No:TYPE_CLASS.fz_struct*/
  846. /*No:TYPE_CLASS.is_real*/
  847.  
  848.  
  849. T6 r273need_c_struct(T273* C){
  850. T6 R=0;
  851. /*[IF*/
  852. if(r273is_dummy_expanded(C)){
  853. }
  854.  else if(r273is_expanded(C)){
  855. R=1;
  856. }
  857.  else if(r24is_tagged((T24*)(r273run_class(C)))){
  858. R=1;
  859. }
  860. else{
  861. R=(r24writable_attributes((T24*)(r273run_class(C))))!=((void*)(NULL));
  862. }
  863. /*FI]*/
  864. return R;
  865. }
  866. /*No:TYPE_CLASS.is_any*/
  867.  
  868.  
  869. void r273standard_gc_define2_for_expanded(T273* C){
  870. T2 _rcid=0;
  871. T0* _rc=NULL;
  872. _rc=r273run_class(C);
  873. /*[IF*/
  874. if(r24gc_mark_to_follow(((T24*)_rc))){
  875. _rcid=(((T24*)_rc))->_id/*4*/;
  876. r7copy((T7*)(((T0*)ms54_785024a)),((T0*)ms13_1776a));
  877. r7extend((T7*)(((T0*)ms54_785024a)),'\40');
  878. r273gc_mark_in(C,((T0*)ms54_785024a));
  879. r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms54_254aa));
  880. r2append_in(_rcid,((T0*)ms54_785024a));
  881. r7append((T7*)(((T0*)ms54_785024a)),((T0*)ms54_600a));
  882. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_3077376)))))->_count)=(0);
  883. /*]*/
  884. r24gc_mark_fixed_size(((T24*)_rc),1,((T0*)ms54_3077376));
  885. r25put_c_function((T25*)(oBC12cpp),((T0*)ms54_785024a),((T0*)ms54_3077376));
  886. }
  887. /*FI]*/
  888. }
  889.  
  890.  
  891. void r273c_initialize_expanded(T273* C){
  892. T0* _rf=NULL;
  893. T2 _i=0;
  894. T0* _wa=NULL;
  895. /*[IF*/
  896. if(r273is_dummy_expanded(C)){
  897. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  898. T3 b1='0';
  899. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  900. }/*]*/
  901. /*]*/
  902. }
  903. else{
  904. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  905. T3 b1='\173';
  906. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  907. }/*]*/
  908. /*]*/
  909. _wa=r24writable_attributes((T24*)(r273run_class(C)));
  910. _i=(((T361*)_wa))->_upper/*12*/;
  911. while (!((_i)==(0))) {
  912. _rf=r361item(((T361*)_wa),_i);
  913. X54c_initialize((((T356*)_rf))->_result_type/*28*/);
  914. _i=(_i)-(1);
  915. /*[IF*/
  916. if((_i)>(0)){
  917. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  918. T3 b1='\54';
  919. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  920. }/*]*/
  921. /*]*/
  922. }
  923. /*FI]*/
  924. }
  925. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T45* C1=((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/));
  926. T3 b1='\175';
  927. putc(b1,((FILE*)((C1)->_output_stream/*4*/)));
  928. }/*]*/
  929. /*]*/
  930. }
  931. /*FI]*/
  932. }
  933.  
  934.  
  935. void r273standard_gc_info_in(T273* C,T0* a1){
  936. r7append(((T7*)a1),((T0*)ms13_7104));
  937. r7extend(((T7*)a1),'\50');
  938. r7extend(((T7*)a1),'\42');
  939. r7append(((T7*)a1),/*(IRF4.6run_time_mark*/(((T64*)((C)->_base_class_name/*4*/)))->_to_string/*0*//*)*/);
  940. r7append(((T7*)a1),((T0*)ms13_6030));
  941. r273gc_info_nb_in(C,a1);
  942. r7append(((T7*)a1),((T0*)ms13_348));
  943. r7append(((T7*)a1),((T0*)ms13_7104));
  944. r7extend(((T7*)a1),'\50');
  945. r7extend(((T7*)a1),'\42');
  946. r273gc_store_left_in(C,a1);
  947. r7append(((T7*)a1),((T0*)ms13_6030));
  948. r273gc_store_left_in(C,a1);
  949. r7append(((T7*)a1),((T0*)ms13_348));
  950. }
  951. /*No:TYPE_CLASS.header*/
  952. T0*oBC273check_memory=NULL;
  953.  
  954.  
  955. void r273standard_c_struct(T273* C){
  956. T0* _t=NULL;
  957. T0* _a=NULL;
  958. T2 _mem_id=0;
  959. T2 _i=0;
  960. T0* _wa=NULL;
  961. _mem_id=r273id(C);
  962. _wa=r24writable_attributes((T24*)(r273run_class(C)));
  963. r7copy((T7*)(((T0*)ms54_785024)),((T0*)ms13_5600));
  964. r7extend((T7*)(((T0*)ms54_785024)),'S');
  965. r2append_in(_mem_id,((T0*)ms54_785024));
  966. r7extend((T7*)(((T0*)ms54_785024)),'\173');
  967. /*[IF*/
  968. if(r273is_reference(C)){
  969. /*[IF*/
  970. if(r24is_tagged((T24*)(r273run_class(C)))){
  971. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms54_6272));
  972. }
  973. /*FI]*/
  974. }
  975. /*FI]*/
  976. /*[IF*/
  977. if((_wa)!=((void*)(NULL))){
  978. _i=(((T361*)_wa))->_upper/*12*/;
  979. while (!((_i)==(0))) {
  980. _a=r361item(((T361*)_wa),_i);
  981. _t=X54run_type((((T356*)_a))->_result_type/*28*/);
  982. X54c_type_for_result_in(_t,((T0*)ms54_785024));
  983. r7extend((T7*)(((T0*)ms54_785024)),'\40');
  984. r7extend((T7*)(((T0*)ms54_785024)),'\137');
  985. r7append((T7*)(((T0*)ms54_785024)),X83to_string((((T356*)_a))->_name/*16*/));
  986. r7extend((T7*)(((T0*)ms54_785024)),'\73');
  987. _i=(_i)-(1);
  988. }
  989. }
  990. /*FI]*/
  991. r7extend((T7*)(((T0*)ms54_785024)),'\175');
  992. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_144));
  993. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms54_785024));
  994. /*]*/
  995. /*[IF*/
  996. if(r273is_expanded(C)){
  997. r7copy((T7*)(((T0*)ms54_785024)),((T0*)ms13_1011));
  998. r7extend((T7*)(((T0*)ms54_785024)),'\40');
  999. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_7854));
  1000. r2append_in(_mem_id,((T0*)ms54_785024));
  1001. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms54_254));
  1002. r2append_in(_mem_id,((T0*)ms54_785024));
  1003. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms54_1675));
  1004. r2append_in(_mem_id,((T0*)ms54_785024));
  1005. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms54_976));
  1006. r25put_c_function((T25*)(oBC12cpp),((T0*)ms54_785024),((T0*)ms54_87822));
  1007. }
  1008. /*FI]*/
  1009. }
  1010.  
  1011.  
  1012. T2 r273standard_space_for_object(T273* C){
  1013. T2 R=0;
  1014. T2 _i=0;
  1015. T0* _a=NULL;
  1016. T0* _wa=NULL;
  1017. T0* _rc=NULL;
  1018. _rc=r273run_class(C);
  1019. /*[IF*/
  1020. if(r24is_tagged(((T24*)_rc))){
  1021. R=r273space_for_integer();
  1022. }
  1023. /*FI]*/
  1024. _wa=r24writable_attributes(((T24*)_rc));
  1025. /*[IF*/
  1026. if((_wa)!=((void*)(NULL))){
  1027. _i=(((T361*)_wa))->_upper/*12*/;
  1028. while (!((_i)==(0))) {
  1029. _a=r361item(((T361*)_wa),_i);
  1030. R=(R)+(X54space_for_variable((((T356*)_a))->_result_type/*28*/));
  1031. _i=(_i)-(1);
  1032. }
  1033. }
  1034. /*FI]*/
  1035. /*[IF*/
  1036. if((R)==(0)){
  1037. R=r273space_for_integer();
  1038. }
  1039. /*FI]*/
  1040. return R;
  1041. }
  1042. /*No:TYPE_CLASS.is_basic_eiffel_expanded*/
  1043. /*No:TYPE_CLASS.fz_gc_mark*/
  1044.  
  1045.  
  1046. void r273gc_store_chunk_in(T273* C,T0* a1){
  1047. r7append(((T7*)a1),((T0*)ms54_19239));
  1048. r2append_in(r273id(C),a1);
  1049. }
  1050.  
  1051.  
  1052. T0* r273type_any(void){
  1053. if(fBC12type_any==0){
  1054. fBC12type_any=1;
  1055. {T259*n=malloc(sizeof(*n));
  1056. *n=M259;
  1057. r259make(n,NULL);
  1058. oBC12type_any=(T0*)n;
  1059. }
  1060. }
  1061. return oBC12type_any;}
  1062.  
  1063.  
  1064. T6 r273need_gc_mark_function(T273* C){
  1065. T6 R=0;
  1066. /*[IF*/
  1067. if(r273is_reference(C)){
  1068. R=1;
  1069. }
  1070. else{
  1071. R=r24gc_mark_to_follow((T24*)(r273run_class(C)));
  1072. }
  1073. /*FI]*/
  1074. return R;
  1075. }
  1076.  
  1077.  
  1078. T6 r273is_native_array(T273* C){
  1079. T6 R=0;
  1080. T0* _tna=NULL;
  1081. _tna=(T0*)C;
  1082. if(NULL!=(_tna))switch(((T0*)_tna)->id) {
  1083. case 263: 
  1084. break;
  1085. default:
  1086. _tna=NULL;
  1087. };R=(_tna)!=((void*)(NULL));
  1088. return R;
  1089. }
  1090. /*No:TYPE_CLASS.is_string*/
  1091.  
  1092.  
  1093. void r273gc_align_mark_in(T273* C,T0* a1){
  1094. r7append(((T7*)a1),((T0*)ms54_24804));
  1095. r2append_in(r273id(C),a1);
  1096. }
  1097. /*No:TYPE_CLASS.is_integer*/
  1098. /*No:TYPE_CLASS.is_anchored*/
  1099. /*No:TYPE_CLASS.is_run_type*/
  1100.  
  1101.  
  1102. void r273standard_c_object_model(T273* C){
  1103. T0* _rc=NULL;
  1104. T2 _mem_id=0;
  1105. _rc=r273run_class(C);
  1106. _mem_id=(((T24*)_rc))->_id/*4*/;
  1107. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_785024)))))->_count)=(0);
  1108. /*]*/
  1109. r7extend((T7*)(((T0*)ms54_785024)),'T');
  1110. r2append_in(_mem_id,((T0*)ms54_785024));
  1111. r7extend((T7*)(((T0*)ms54_785024)),'\40');
  1112. r7extend((T7*)(((T0*)ms54_785024)),'M');
  1113. r2append_in(_mem_id,((T0*)ms54_785024));
  1114. r25put_extern7((T25*)(oBC12cpp),((T0*)ms54_785024));
  1115. /*[IRF3.3swap_on_c*/((((T25*)((T25*)(oBC12cpp))))->_current_out)=(oBC25out_c);
  1116. /*]*/
  1117. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_785024)))))->_count)=(0);
  1118. /*]*/
  1119. r24c_object_model_in(((T24*)_rc),((T0*)ms54_785024));
  1120. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_144));
  1121. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms54_785024));
  1122. /*]*/
  1123. r25swap_on_h((T25*)(oBC12cpp));
  1124. }
  1125.  
  1126.  
  1127. T6 r273is_reference(T273* C){
  1128. T6 R=0;
  1129. R=!(((T63*)(r273base_class(C)))->_is_expanded/*20*/);
  1130. return R;
  1131. }
  1132.  
  1133.  
  1134. void r273standard_just_before_gc_mark_in(T273* C,T0* a1){
  1135. r273gc_free_in(C,a1);
  1136. r7extend(((T7*)a1),'\75');
  1137. r7append(((T7*)a1),((T0*)ms13_1300));
  1138. r7append(((T7*)a1),((T0*)ms13_144));
  1139. }
  1140. /*No:TYPE_CLASS.is_none*/
  1141. /*No:TYPE_CLASS.fz_inako*/
  1142. /*No:TYPE_CLASS.fz_c_void_args*/
  1143. /*No:TYPE_CLASS.is_like_argument*/
  1144.  
  1145.  
  1146. void r273just_before_gc_mark_in(T273* C,T0* a1){
  1147. /*[IF*/
  1148. if(r273is_reference(C)){
  1149. r273standard_just_before_gc_mark_in(C,a1);
  1150. }
  1151. /*FI]*/
  1152. }
  1153.  
  1154.  
  1155. void r273gc_store_left_in(T273* C,T0* a1){
  1156. r7append(((T7*)a1),((T0*)ms54_17320));
  1157. r2append_in(r273id(C),a1);
  1158. }
  1159. /*No:TYPE_CLASS.mapping_cast_memory*/
  1160. /*No:TYPE_CLASS.fz_gc*/
  1161. /*No:TYPE_CLASS.is_double*/
  1162.  
  1163.  
  1164. void r273standard_c_typedef(T273* C){
  1165. T2 _mem_id=0;
  1166. _mem_id=r273id(C);
  1167. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms54_785024)))))->_count)=(0);
  1168. /*]*/
  1169. /*[IF*/
  1170. if(r273need_c_struct(C)){
  1171. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_6568));
  1172. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_5600));
  1173. r7extend((T7*)(((T0*)ms54_785024)),'S');
  1174. r2append_in(_mem_id,((T0*)ms54_785024));
  1175. r7extend((T7*)(((T0*)ms54_785024)),'\40');
  1176. r7extend((T7*)(((T0*)ms54_785024)),'T');
  1177. r2append_in(_mem_id,((T0*)ms54_785024));
  1178. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_144));
  1179. }
  1180.  else if(r273is_dummy_expanded(C)){
  1181. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_6568));
  1182. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_1011));
  1183. r7extend((T7*)(((T0*)ms54_785024)),'\40');
  1184. r7extend((T7*)(((T0*)ms54_785024)),'T');
  1185. r2append_in(_mem_id,((T0*)ms54_785024));
  1186. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_144));
  1187. }
  1188.  else if(r273is_reference(C)){
  1189. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_6568));
  1190. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_1776a));
  1191. r7extend((T7*)(((T0*)ms54_785024)),'\52');
  1192. r7extend((T7*)(((T0*)ms54_785024)),'T');
  1193. r2append_in(_mem_id,((T0*)ms54_785024));
  1194. r7append((T7*)(((T0*)ms54_785024)),((T0*)ms13_144));
  1195. }
  1196. /*FI]*/
  1197. /*[IRF3.5put_string*/r45put_string(((T45*)(((T25*)(oBC12cpp))->_current_out/*56*/)),((T0*)ms54_785024));
  1198. /*]*/
  1199. }
  1200. /*No:PREFIX_NAME.is_frozen*/
  1201.  
  1202.  
  1203. void r142undefine_in(T142* C,T0* a1){
  1204. /*[IF*/
  1205. /*AF*//*AE*/
  1206. /*FI]*/
  1207. }
  1208.  
  1209.  
  1210. T0* r142origin_base_class(T142* C){
  1211. T0* R=NULL;
  1212. T0* _sp=NULL;
  1213. _sp=(C)->_start_position/*8*/;
  1214. /*[IF*/
  1215. if((_sp)!=((void*)(NULL))){
  1216. R=r70base_class(((T70*)_sp));
  1217. }
  1218. /*FI]*/
  1219. return R;
  1220. }
  1221. /*No:PREFIX_NAME.start_position*/
  1222. /*No:PREFIX_NAME.to_string*/
  1223. /*No:PREFIX_NAME.put_cpp_tag*/
  1224.  
  1225.  
  1226. void r142declaration_in(T142* C,T0* a1){
  1227. r7append(((T7*)a1),((T0*)ms13_7614a));
  1228. r7extend(((T7*)a1),'\40');
  1229. r7extend(((T7*)a1),'\42');
  1230. r7append(((T7*)a1),(C)->_to_string/*4*/);
  1231. r7extend(((T7*)a1),'\42');
  1232. }
  1233. /*No:PREFIX_NAME.to_key*/
  1234.  
  1235.  
  1236. T0* r142name_in(T142* C,T0* a1){
  1237. T0* R=NULL;
  1238. T0* _bc=NULL;
  1239. _bc=r142origin_base_class(C);
  1240. /*[IF*/
  1241. if((_bc)==((void*)(a1))){
  1242. R=(T0*)C;
  1243. }
  1244. else{
  1245. R=r63new_name_of(((T63*)a1),_bc,(T0*)C);
  1246. }
  1247. /*FI]*/
  1248. return R;
  1249. }
  1250.  
  1251.  
  1252. void r142error(T0* a1,T0* a2){
  1253. r21add_position(a1);
  1254. r21error((T21*)(oBC12eh),a2);
  1255. }
  1256.  
  1257.  
  1258. void r142make(T142* C,T0* a1,T0* a2){
  1259. C->_to_string=r84item(a1);
  1260. C->_start_position=a2;
  1261. C->_to_key=r84for_prefix((C)->_to_string/*4*/);
  1262. }
  1263. /*No:PREFIX_NAME.mapping_c_in*/
  1264. /*No:PREFIX_NAME.fz_prefix*/
  1265. /*No:E_VOID.static_value*/
  1266. /*No:E_VOID.mapping_c_target*/
  1267. /*No:E_VOID.fz_null*/
  1268. /*No:E_VOID.is_static*/
  1269. /*No:E_VOID.can_be_dropped*/
  1270. /*No:E_VOID.is_manifest_string*/
  1271. /*No:E_VOID.start_position*/
  1272. /*No:E_VOID.c_simple*/
  1273. /*No:E_VOID.c_declare_for_old*/
  1274.  
  1275.  
  1276. T0* r157add_comment(T157* C,T0* a1){
  1277. T0* R=NULL;
  1278. /*[IF*/
  1279. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r39count(((T39*)((((T82*)a1))->_list/*4*/)))/*)*/)==(0))){
  1280. R=(T0*)C;
  1281. }
  1282. else{
  1283. {T230*n=malloc(sizeof(*n));
  1284. *n=M230;
  1285. r230make(n,(T0*)C,a1);
  1286. R=(T0*)n;
  1287. }
  1288. }
  1289. /*FI]*/
  1290. return R;
  1291. }
  1292.  
  1293.  
  1294. T2 r157to_integer(T157* C){
  1295. T2 R=0;
  1296. r157error((C)->_start_position/*4*/,((T0*)ms13_45846));
  1297. return R;
  1298. }
  1299. /*No:E_VOID.use_current*/
  1300. /*No:E_VOID.dca_inline_argument*/
  1301. /*No:E_VOID.compile_to_c*/
  1302. /*No:E_VOID.to_runnable*/
  1303. /*No:E_VOID.isa_dca_inline_argument*/
  1304. /*No:E_VOID.compile_to_c_old*/
  1305. /*No:E_VOID.is_pre_computable*/
  1306. /*No:E_VOID.collect_c_tmp*/
  1307. /*No:E_VOID.fz_iinaiv*/
  1308. int fBC157result_type=0;
  1309. T0*oBC157result_type=NULL;
  1310.  
  1311.  
  1312. T0* r157result_type(void){
  1313. if(fBC157result_type==0){
  1314. fBC157result_type=1;
  1315. {T269*n=malloc(sizeof(*n));
  1316. *n=M269;
  1317. r269make(n,NULL);
  1318. oBC157result_type=(T0*)n;
  1319. }
  1320. }
  1321. return oBC157result_type;}
  1322.  
  1323.  
  1324. void r157error(T0* a1,T0* a2){
  1325. r21add_position(a1);
  1326. r21error((T21*)(oBC12eh),a2);
  1327. }
  1328. /*No:E_VOID.make*/
  1329. /*No:E_VOID.is_current*/
  1330. /*No:E_VOID.is_void*/
  1331. /*No:E_VOID.mapping_c_arg*/
  1332. /*No:E_VOID.afd_check*/
  1333. /*No:E_VOID.is_result*/
  1334.  
  1335.